Channel estimation method blending correlation and least-squares based approaches

ABSTRACT

A response of a channel may be estimated by correlating a received signal and a training sequence, by forming a matrix Γ based on a desired shape for the peaks of the correlation, by extracting a vector y from the received signal, and by estimating the channel response from a least-squares solution based on the matrix Γ, the vector y, and a matrix formed from the elements of the known training sequence.

RELATED APPLICATIONS

The present application claims the benefit of Provisional Application Ser. No. 60/336,415 filed on Oct. 24, 2001.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to a channel estimator and, more particularly, to a channel estimator that estimates the response of a channel through which signals are received.

BACKGROUND OF THE INVENTION

For communication systems utilizing a periodically transmitted training sequence, least-squares algorithms or correlation algorithms have been the most widely used alternatives for the estimation of the channel. The estimation of the channel may then be used for various purposes such as initializing the values of the taps of an equalizer at a receiver.

Both algorithms use a stored copy of the known transmitted training sequence at the receiver. The properties and length of the training sequence generally depend on the particular standard specifications of the communication system. In addition, a training sequence is also used in a communication system for synchronization to indicate the beginning and/or end of a transmitted data frame or packet.

In general, a communication system 10 that utilizes an equalizer adjusted by use of the training signal is shown in FIG. 1 and includes an equalizer 12 and a channel estimator 14 of a receiver. The base-band transmitted signal s(t) having a data rate of 1/T symbols per second is represented by the following equation:

$\begin{matrix} {{s(t)} = {\sum\limits_{k}{I_{k}{q\left( {t - {kT}} \right)}}}} & (1) \end{matrix}$ where I_(k)εA≡{α₁, . . . , α_(M)}⊂C¹ is the transmitted training sequence, which is a discrete M-ary sequence taking values on the generally complex M-ary alphabet A, which also constitutes a two dimensional modulation constellation. The function q(t) as shown in a block 16 represents the pulse shaping performed by a transmitter filter of finite support [−T_(q)/2, T_(q)/2].

The overall complex pulse shape is denoted by p(t) and is given by the following equation: p(t)=q(t)*q*(−t)  (2) where q*(−t) shown in a block 18 is the receiver matched filter finite impulse response. Although it is not required, it is assumed, for the sake of simplifying the notation, that the span, T_(q), of the transmitter and receiver filters is an integer multiple of the symbol period T; that is, T_(q)=N_(q)T, N_(q)εZ⁺.

The physical channel between the transmitter and the receiver is denoted by c(t,τ) and is shown by a block 20, and throughout the discussion below the concatenation of p(t) and the physical channel c(t,τ) will be denoted by h(t) and is defined by the following equation: h(t)=q(t)*c(t,τ)*q*(−t)=p(t)*c(t,τ)  (3) where h(t) is generally referred to as the channel response. The physical channel c(t,τ) between the transmitter and the receiver is generally described by the following impulse response:

$\begin{matrix} {{c\left( {t,\tau} \right)} = {\sum\limits_{k = {- K}}^{L}{{c_{k}(\tau)}{\delta\left( {t - \tau_{k}} \right)}}}} & (4) \end{matrix}$ which describes a time-varying channel, where {c_(k)(τ)}⊂C¹, −K≦k≦L, and t,τεR. However, it is assumed that the time-variation of the channel is slow enough that c(t,τ)=c(t) can be assumed to be a fixed (static) inter-symbol interference (ISI) channel throughout the training period; that is, it is assumed that c_(k)(τ)=c_(k), which in turn implies that c(t) is defined by the following equation:

$\begin{matrix} {{c(t)} = {\sum\limits_{k = {- K}}^{L}{c_{k}{\delta\left( {t - \tau_{k}} \right)}}}} & (5) \end{matrix}$ for 0≦t≦NT, where N is the number of training symbols.

The summation indices K and L, where K is the number of anti-causal multi-path delays and L is the number of causal multi-path delays, are dependent on the channel and are more fully explained below in the discussion of correlation based channel estimation and subsequently. The multi-path delays τ_(k) are not assumed to be at integer multiples of the sampling period T. Indeed, an accurate and robust way of recovering the pulse shape back into the concatenated channel estimate when the multi-path delays are not exactly at the sampling instants is disclosed herein.

Equations (3) and (5) can be combined according to the following equation:

$\begin{matrix} {{h(t)} = {{{p(t)}*{c(t)}} = {\sum\limits_{k = {- K}}^{L}{c_{k}{{p\left( {t - \tau_{k}} \right)}.}}}}} & (6) \end{matrix}$ Because both p(t) and c(t) are complex functions, the overall channel impulse response h(t) is also complex. Therefore, p(t), c(t), and h(t) can be written as functions of their real and imaginary parts as given by the following equations: p(t)=p _(I)(t)+jp _(Q)(t)  (7) c(t)=c _(I)(t)+jc _(Q)(t)  (8) h(t)=h _(I)(t)+jh _(Q)(t)  (9) Substituting equations (7)–(9) into equation (6) produces the following equation:

$\begin{matrix} \begin{matrix} {{h(t)} = {{p(t)}*{c(t)}}} \\ {= {\left( {{p_{I}(t)} + {{jp}_{Q}(t)}} \right)*\left( {{c_{I}(t)} + {{jc}_{Q}(t)}} \right)}} \\ {= {\underset{\underset{h_{I}{(t)}}{︸}}{\left( {{{p_{I}(t)}*{c_{I}(t)}} - {{p_{Q}(t)}*{c_{Q}(t)}}} \right)} +}} \\ {\underset{\underset{h_{Q}{(t)}}{︸}}{j\left( {{{p_{I}(t)}*{c_{Q}(t)}} + {{p_{Q}(t)}*{c_{I}(t)}}} \right)}} \end{matrix} & (10) \end{matrix}$ The output matched filter 18 is denoted y(t) and is given by the following equation:

$\begin{matrix} {{y(t)} = {{\left( {\sum\limits_{k}{I_{k}{\delta\left( {t - {kT}} \right)}}} \right)*{h(t)}} + {\overset{\sim}{v}(t)}}} & (11) \end{matrix}$ where {tilde over (ν)}(t) designates the complex noise process after the matched filter. As in the case of equations (7)–(9), y(t) can be written in terms of its real and imaginary parts as y(t)=y_(I)(t)+jy_(Q)(t). Sampling the output of the matched filter 18 at the symbol rate using a sampler 22 produces the discrete-time representation of the overall communication system according to the following equation:

$\begin{matrix} {{{{y\lbrack n\rbrack} \equiv {y(t)}}❘_{t = {nT}}} = {{\sum\limits_{k}{I_{k}{h\left\lbrack {n - k} \right\rbrack}}} + {{\overset{\sim}{v}\lbrack n\rbrack}.}}} & (12) \end{matrix}$

The transmitted symbols are composed of frames (or packets) of length N′, where the first N symbols are the training symbols a_(k). Within a frame of length N′, the symbols may be denoted by the following equation:

$\begin{matrix} {I_{k} = \left\{ \begin{matrix} {a_{k},} & {{{for}\mspace{14mu} 0} \leq k \leq {N - 1}} \\ {d_{k},} & {{{for}\mspace{14mu} N} \leq n \leq {N^{\prime} - 1}} \end{matrix} \right.} & (13) \end{matrix}$ where the distinction of the first N symbols is made to indicate that they are the known training symbols, and where it is possible that the training symbols a_(k) belong to a subset of the M-ary constellation alphabet A; that is {a_(k)εÃ⊂A≡{α₁, . . . , α_(M)}}. In fact, for the 8-VSB digital television system, the signal alphabet is A≡{±1,±3,±5,±7}, while the training sequence can only take binary values within the subset Ã≡{−5,+5}.

FIG. 2 shows a least-squares channel estimator 30 that has been used for the channel estimator 14 of FIG. 1. In order to fully estimate the channel defined by equation (6), the least-squares based channel estimation algorithm assumes that the starting point and the ending point of the channel taps are either known or can be bounded. This assumption plays a critical role in the overall quality and robustness of the least-squares estimation procedure. It can be equivalently assumed that the impulse responses of the discrete-time equivalent composite channel h[n] can be written as a finite dimensional vector according to the following equation: h=[h[−N _(a) ],h[−N _(a)+1], . . . ,h[−1],h[0],h[1], . . . , h[N _(c)−1],h[N _(c)]]^(T)  (14) where N_(a) denotes the number of anti-causal taps of the channel, N_(C) denotes the number of causal taps of the channel, and N_(a)+N_(C)+1 is the total memory of the channel.

Based on equation (12) and assuming that N≧N_(a)+N_(c)+1 where N again is the number of training symbols, the output of the matched filter 18 corresponding to the known training symbols can be written as follows:

${y\left\lbrack N_{c} \right\rbrack} = {{{h\left\lbrack {- N_{a}} \right\rbrack}a_{N_{c} + N_{c}}} + \ldots + {{h\lbrack 0\rbrack}a_{N_{c}}} + \ldots + {{h\left\lbrack N_{c} \right\rbrack}a_{0}} + {\overset{\sim}{\upsilon}\left\lbrack N_{c} \right\rbrack}}$ ${y\left\lbrack {N_{c} + 1} \right\rbrack} = {{{h\left\lbrack {- N_{a}} \right\rbrack}a_{N_{c} + N_{c} + 1}} + \ldots + {{h\lbrack 0\rbrack}a_{N_{c} + 1}} + \ldots + {{h\left\lbrack N_{c} \right\rbrack}a_{1}} + {\overset{\sim}{\upsilon}\left\lbrack {N_{c} + 1} \right\rbrack}}$ ⋮                   ⋮                  ${y\left\lbrack {N - 1 - N_{a}} \right\rbrack} = {{{h\left\lbrack {- N_{a}} \right\rbrack}a_{N - 1}} + \ldots + {{h\lbrack 0\rbrack}a_{N - 1 - N_{a}}} + \ldots + {{h\left\lbrack N_{c} \right\rbrack}a_{N - 1 - N_{a} - N_{c}}} + {\overset{\sim}{\upsilon}\left\lbrack {N - 1 - N_{a}} \right\rbrack}}$ which can be compactly written according to the following vector equation: y=Ah+ũ  (15) where y comprises values extracted by a sample extractor 32 from the received signal and is defined according to the following equation: y=[y[N _(c) ],y[N _(c)+1], . . . ,y[N−1−N _(a)]]^(T)  (16) where A is based on the training signal and is defined according to the following equation:

$\begin{matrix} {A = \begin{bmatrix} a_{N_{c} + N_{a}} & a_{N_{c} + N_{a} - 1} & \cdots & a_{0} \\ a_{N_{c} + N_{a} + 1} & a_{N_{c} + N_{a}} & \cdots & a_{1} \\ \vdots & \vdots & ⋰ & \vdots \\ a_{N - 1} & a_{N - 2} & \cdots & a_{N - 1 - N_{a} - N_{c}} \end{bmatrix}_{{({N - N_{a} - N_{c}})}{x{({N_{a} + N_{c} + 1})}}}} & (17) \end{matrix}$ and where {tilde over (ν)} is defined according to the following equation: {tilde over (υ)}=[{tilde over (υ)}[N _(c)],{tilde over (υ)}[N _(c)+1], . . . , {tilde over (υ)}[N−1−N _(a)]]^(T). As long as the matrix A is a tall matrix and of full column rank such that N≧2(N_(a)+N_(c))+1 and rank {A}=N_(a)+N_(c)+1, then the least-squares solution which minimizes the objective function given by the following equation J _(LS)(h)=||y−Ah|| ²  (18) exists and is unique and is given by the following equation: ĥ _(LS)=(A ^(H) A)⁻¹ A ^(H) y  (19) where the superscript H denotes Hermitian transpose, and where ĥ_(LS) is the least-squares estimation of the channel between the transmitter and the receiver. Thus, in accordance with equation (19), a matrix multiplier 34 multiplies the matrix y by a matrix A⁺, which is (A^(H)A)⁻¹A^(H) and which is stored in a memory 36. Thus, the matrix multiplier produces the channel estimate ĥ_(LS) according to equation (19).

One of the problems associated with the least-squares based channel estimation is the uncertainty associated with the actual channel spread, i.e., the spread between the outermost multi-paths. That is, this uncertainty arises because the channel memory and the first and last channel taps are not actually known by the receiver. Therefore, in order to set up equations (16)–(19), some sort of preprocessing is needed, such as correlating the stored training symbols with the received signal, or some pre-assumed starting and ending points for the channel must be used such that the total channel spread is not too long that would otherwise result in the A matrix being a wide matrix rather than a tall one.

Even if the starting and ending points of the actual channel spread are known by the receiver, least-squares based channel estimators still have problems that may be insurmountable. For example, least-squares channel estimators cannot properly estimate the channel from the training sequence if the channel spread is too long for the training sequence to effectively support the channel.

That is, if N<2(N_(a)+N_(C))+1, such that the number of training symbols is insufficient to support, or create, an over-determined channel convolution matrix A, then there are two cases to consider.

First, if the full A matrix as given by equation (17) is used, the least-squares estimate of equation (19) no longer exists. That is, the matrix A^(H)A is singular.

Second, if the receiver does not attempt to construct the full A matrix and instead constructs an alternative thinner matrix Ã with N≧2(Ñ_(a)+Ñ_(c))+1 such that Ñ_(a)<N_(a) and/or Ñ_(c)<N_(c), then the inverse of Ã^(H)Ã will exist but the new least-squares solution given by the following equation: {tilde over (h)} _(LS)=(Ã ^(H) Ã)⁻¹ Ã ^(H) y will not be a very desirable estimate. That is, the resulting channel estimate no longer resembles the actual channel, especially if the actual channel spread is much longer that the training sequence can support.

An example is illustrated in FIGS. 3( a)–3(e). A channel with delays τ_(k)=[−105.32, −87.643, −45.443, 0, 12.22, 39.9, 203.659, 321.82, 435.12] with a complex raised cosine pulse shape of 41 samples (a channel spread of 580 symbols including the tails of the pulse shape) was simulated. The real part of the channel impulse response seen at the output of the matched filter is shown in FIG. 3( a). As shown in FIG. 3( a), each peak of the channel impulse response has a raised cosine pulse shape. The training sequence is the same as in the 8 VSB digital television standard and is of length N=704 symbols. With 704 training symbols, a channel with a maximum delay spread of only N_(a)+N_(C)+1=352 taps, including the tails of the pulse shape, can be supported. Thus, the actual channel has a much longer delay spread than the standard least-squares based method can handle. The least-squares channel estimate corresponding to cases where the receiver constructs a smaller convolution matrix Ã with −Ñ_(a)=−125, Ñ_(c)=60, −Ñ_(a)=−125, Ñ_(c)=120, −Ñ_(a)=−125, Ñ_(c)=206, and −Ñ_(a)=−125, Ñ_(c)=342 are shown in FIG. 3( b), FIG. 3( c), FIG. 3( d), and FIG. 3( e), respectively. The matrix Ã is non-singular for all cases except FIG. 3( e). As can be seen from FIG. 3( b) to FIG. 3( d), as the assumed channel spread gets longer, the estimated channel response increasingly deviates from the original channel response. In FIG. 3( e), where Ã is undetermined, the estimated channel no longer resembles the original channel response. However, it may be misleading to assume a very short channel spread in order to obtain a cleaner channel estimate within the assumed channel span. In that case, it is very likely that very significant early pre-cursor multi-paths or late post-cursor multi-paths may be missing.

As indicated above, it is also known to apply auto-correlation in estimating the channel. The sampled received sequence at the output of the matched filter is denoted by y[n] and is given in equation (12), where the pre-cursor symbols are at positions n≧0 and post-cursor symbols are at positions n<0. The known training sequence is denoted by s[n]=a_(n) for n=0, . . . , N−1. The auto-correlation functions r_(s)[m] and r_(sy)[m] are defined in accordance with the following equations:

$\begin{matrix} {{r_{s}\lbrack m\rbrack} = {\sum\limits_{k = 0}^{N - 1}{{s^{*}\lbrack k\rbrack}{s\left\lbrack {k + m} \right\rbrack}}}} & (20) \\ {{r_{sy}\lbrack m\rbrack} = {\sum\limits_{k = 0}^{N - 1}{{s^{*}\lbrack k\rbrack}{y\left\lbrack {k + m} \right\rbrack}}}} & (21) \end{matrix}$ where {s[k]εÃ}.

It is assumed that, in order to be able to use correlation based channel estimation, the training sequence must belong to a certain class of sequences and thereby possess certain desirable properties. An exemplary class of sequences is maximal length pseudo-noise (PN) sequences. A PN-sequence of length n is denoted herein as PN_(n). In general, the periodic auto-correlation of a binary valued ({+A, −A}) PN_(n) sequence is given by the following equation:

$\begin{matrix} {{r_{{PN}_{n}}\lbrack m\rbrack} = \left\{ \begin{matrix} {{A^{2}n},} & {{{{if}\mspace{14mu} m} = 0},{\pm n},{{\pm 2}n},\ldots} \\ {{- A^{2}},} & {otherwise} \end{matrix} \right.} & (22) \end{matrix}$

FIG. 4 shows a correlation channel estimator 40 that can be used for the channel estimator 14 to estimate the channel in order to initialize the equalizer 12. The correlation channel estimator 40 includes a cross-correlator 42 that cross-correlates the received signal with the training sequence stored in a memory 44 and a level thresholder 46 that sets to zero any correlation coefficients that are below a predetermined threshold. Accordingly, the correlation channel estimator 40 produces a channel estimate ĥ.

More specifically, based on the auto-correlation property of equation (22), the channel can be estimated by cross-correlating s[n] (the training sequence known and stored in the receiver) with the received sequence y[n]. The initial pre-cursor impulse response estimate {tilde over (h)}_(a)[n] is determined from the cross-correlation of the training sequence s[n] stored in the receiver and the actual received symbols at lags from 0 to −N+1 with respect to the start of the received training sequence. That is, {tilde over (h)}_(a)[n] is given by the following equation:

$\begin{matrix} {{{{\overset{\sim}{h}}_{a}\lbrack n\rbrack} = {\frac{1}{r_{s}\lbrack 0\rbrack}{\sum\limits_{k = 0}^{N - 1}{{s^{*}\lbrack k\rbrack}{y\left\lbrack {k + n} \right\rbrack}}}}}{{{{for}\mspace{14mu}{lags}\mspace{14mu} n} = 0},{- 1},\ldots\mspace{11mu},{{- N} + 1}}} & (23) \end{matrix}$ Similarly, the initial post-cursor response estimate ĥ_(c)[n] is determined from the cross-correlation of the training sequence stored in the receiver and the actual received symbols at lags from 1 to N−1 with respect to the start of the received training sequence. That is, ĥ_(c)[n] is given by the following equation:

$\begin{matrix} {{{{\overset{\sim}{h}}_{c}\lbrack n\rbrack} = {\frac{1}{r_{s}\lbrack 0\rbrack}{\sum\limits_{k = 0}^{N - 1}{{s\lbrack k\rbrack}{y^{*}\left\lbrack {k + n} \right\rbrack}}}}}{{{{for}\mspace{14mu}{lags}\mspace{14mu} n} = 1},{2\ldots}\mspace{11mu},{N - 1}}} & (24) \end{matrix}$ where r_(s)[0] in equations (23) and (24) is defined according to the following equation:

${r_{s}\lbrack 0\rbrack} = {\sum\limits_{k = 0}^{N - 1}{a_{k}}^{2}}$ Equations (23) and (24) imply that the correlations should be extended on either side by the length of the training sequence in order to obtain the longest possible channel estimate within the limits of the transmission standard, with the assumption that N≧K and N≧L.

With respect to the channel estimation procedure given by equations (23) and (24), the overall initial estimated channel transfer function {tilde over (H)}(z) is given by the Z-transform of the concatenated channel estimates according to the following equation:

$\begin{matrix} \begin{matrix} {{\overset{\sim}{H}(z)} = {{\sum\limits_{k = {{- N} + 1}}^{0}{{{\overset{\sim}{h}}_{a}\lbrack k\rbrack}z^{- k}}} + {\sum\limits_{k = 1}^{N - 1}{{{\overset{\sim}{h}}_{c}\lbrack k\rbrack}z^{- k}}}}} \\ {= {\sum\limits_{k = {{- N} + 1}}^{N - 1}{{\overset{\sim}{h}\lbrack k\rbrack}z^{- k}}}} \end{matrix} & (25) \end{matrix}$ where the concatenated estimated channel impulse {tilde over (h)}[n] is given by the following equation:

$\begin{matrix} {{\overset{\sim}{h}\lbrack n\rbrack} = \left\{ \begin{matrix} {{{\overset{\sim}{h}}_{a}\lbrack n\rbrack},} & {{{for} - N + 1} \leq n \leq 0} \\ {{{\overset{\sim}{h}}_{c}\lbrack n\rbrack},} & {{{for}\mspace{14mu} 1} \leq n \leq {N - 1}} \end{matrix} \right.} & (26) \end{matrix}$ Equation (25) can be rewritten in accordance with the following equation:

$\begin{matrix} {{{\overset{\sim}{H}}_{u}(z)} = {\frac{1}{r_{s}\lbrack 0\rbrack}{\overset{\Cup}{A}}^{- H}\overset{\sim}{y\;}z^{- k}}} & (27) \end{matrix}$ where Ã is a (N+N_(a)+N_(C)) by (N_(a)+N_(C)+1) Toeplitz matrix with a first column [a₀, a₁, . . . , a_(N−1), 0, . . . , 0]^(T) and a first row [a₀, 0, . . . , 0]^(T), and where {tilde over (y)}=[y[−N_(a)], . . . , y[N+N_(C)−1]]^(T). In order to get rid of the side lobes of the aperiodic autocorrelation, the autocorrelation of the training sequence is determined according to the following equation:

$\begin{matrix} {R_{aa} = {\frac{1}{r_{s}\lbrack 0\rbrack}{\overset{\Cup}{A}}^{H}\overset{\Cup}{A}}} & (28) \end{matrix}$ and then R_(aa) can be inverted and applied to {tilde over (H)}_(u)(z) according to the following equation: {tilde over (H)} _(c)(z)=R _(aa) ⁻¹ {tilde over (H)} _(u)(z)  (29) However, the channel estimate {tilde over (H)}_(c)(z) obtained by equation (29) has the contributions due to unknown symbols prior to and after the training sequence, as well as the additive channel noise; only the side lobes due to the aperiodic correlation is removed.

As discussed below, the correlations of equations (23) and (24) will clearly yield peaks at {D_(k) ^(a)εZ⁺, for k=−K, . . . , −1, 0, and at {D_(k) ^(c)εZ⁺, for k=1, . . . , L. These delays D_(k) ^(a) and D_(k) ^(c) are the sampling instants closest to the locations of the actual physical channel multi-path delays τ_(k) for k=−K, . . . , −1, 0, 1, . . . , L within a symbol interval.

As shown in FIG. 4, there is a level thresholding algorithm following right after the cross-correlations such that the estimated channel taps are set to zero if they are below a certain threshold. This thresholding algorithm operates in accordance with the following equation:

$\begin{matrix} {{{set}\mspace{14mu}{{\overset{\sim}{h}}_{c}\lbrack n\rbrack}} = \left\{ \begin{matrix} {0,} & {{{if}\mspace{14mu}{{\overset{\sim}{h}}_{c}\lbrack n\rbrack}} < ɛ} \\ {{{\overset{\sim}{h}}_{c}\lbrack n\rbrack},} & {otherwise} \end{matrix} \right.} & (30) \end{matrix}$ for n=−N+1, . . . , −1, 0, 1, . . . , N−1, where the subscript c denotes that the corresponding function has been cleansed of side lobes. As a result, the estimated transfer function Ĥ_(c)(z) after thresholding can, in general, be written according to the following equation:

$\begin{matrix} \begin{matrix} {{{\hat{H}}_{c}(z)} = {{{\overset{\sim}{\beta}}_{K}z^{D_{K}^{a}}} + \cdots + {{\overset{\sim}{\beta}}_{2}z^{D_{2}^{a}}} + {{\overset{\sim}{\beta}}_{1}z^{D_{1}^{a}}} + {\overset{\sim}{\alpha}}_{0} + {{\overset{\sim}{\alpha}}_{1}z^{- D_{1}^{c}}} +}} \\ {{{\overset{\sim}{\alpha}}_{2}z^{- D_{2}^{c}}} + \cdots + {{\overset{\sim}{\alpha}}_{L}z^{- D_{L}^{c}}}} \\ {= {{\overset{\sim}{\alpha}}_{0}\left( {{\beta_{K}z^{D_{K}^{a}}} + \cdots + {\beta_{1}z^{D_{1}^{a}}} + {\alpha_{1}z^{- D_{1}^{c}}} + \cdots + {\alpha_{L}z^{- D_{L}^{c}}}} \right)}} \end{matrix} & (31) \end{matrix}$ where α_(I)={tilde over (α)}_(I)/{tilde over (α)}₀ for 1≦i<L, and β_(k)={tilde over (β)}_(k)/{tilde over (α)}₀ for 1≦k≦K. The notation of equation (31) is adopted because, after thresholding, there are usually very few dominant taps. Accordingly, the channel after correlation and thresholding is sparse. Moreover, the peaks in the channel estimate no longer have the pulse shapes of the actual channel response.

In equation (31), the coefficients β_(k) correspond to the post-cursor (causal) part of the correlation, and the coefficients α₁ correspond to the pre-cursor (anti-causal) part of the correlation. The delays D_(k) ^(a) are the anti-causal delays, and the delays D_(l) ^(c) are the causal delays. As a convention, it is assumed that 1≦D₁ ^(c)<D₂ ^(c)< . . . <D_(L) ^(c) and similarly that 1≦D₁ ^(a)<D₂ ^(a)< . . . <D_(K) ^(a). Also, by the construction of the channel estimates in equations (23) and (24), D_(K) ^(a)≦N−1 and D_(L) ^(c)≦N−1.

At this point, the causal part Ĥ_(cc) and the anti-causal part Ĥ_(ac) of the transfer function of equation (31) can be defined in accordance with the following equations: Ĥ _(ac)(z)={tilde over (α)}₀(β_(K) z ^(D) ^(a) ^(K) + . . . +β₂ z ^(D) ^(a) ² +β₁ z ^(D) ^(a) ¹ +1)  (32) Ĥ _(cc)(z)={tilde over (α)}₀(α₁ z ^(−D) ^(c) ¹ +α₂ z ^(−D) ^(c) ² + . . . +α_(L) Z ^(−D) ^(c) ^(L) )  (33) such that Ĥ_(c)(z)=Ĥ_(ac)(z)+Ĥ_(cc)(z). Again the first subscript denotes whether the part is anti-causal or causal, and the second subscript denotes that the part has been cleansed of the side lobes. The partition of equations (32) and (33) enable the development of the appropriate feed-forward filter initializations for a Decision Feedback Equalizer (DFE).

Unfortunately, if the PN training sequence is finite and the standard linear correlation is used, the auto-correlation values corresponding to the non-zero lags will not be constant and will not be as low as −A². As a simple illustration, a sequence composed of six PN₅₁₁ appended back to back may be considered so that the sequence is given by the following equation: y=[PN ₅₁₁ , PN ₅₁₁ , PN ₅₁₁ , PN ₅₁₁ , PN ₅₁₁ , PN ₅₁₁]  (34) Then, r_(xy)[m], with x=[PN₅₁₁]^(T), will be given as shown in FIG. 5. A low correlation value of −A² will be obtained for lags that are not multiples of L=511 corresponding to the intermediate PN₅₁₁ portions of the long sequence y. However, as illustrated in FIG. 5, for the outermost lags, this constant and low correlation value of −A² will not be obtained. Instead, these correlation tails are noise like due to the finiteness of the training sequence. That is, the stored training sequence is correlated not only with the training sequence in the received signal but also with random data symbols and reserved symbols.

The training sequence that is used for digital television is given by the following equation: {tilde over (s)}=[ss,PN ₅₁₁ ,PN ₆₃ ,±PN ₆₃ ,PN ₆₃]^(T) where ss=[+5−5−5+5] represents the four segment sync symbols at the beginning of the frame sync segment. There are also reserved frame bits and data bits right before and after the training sequence {tilde over (s)}.

In summary, the correlations of the received signal with the stored training sequence will be noisy because the PN sequences are finite in length so that they will not achieve the desired low correlation values for non-zero lags, and because the span of the cross-correlation includes the known training sequence as well as random data symbols and reserved symbols.

Because of these reasons, the initial estimate of the channel that is acquired from the correlation of the matched filter output with the stored training sequence will not yield a clean and accurate channel estimate. Accordingly, even if the channel tap estimates {α_(k),β_(k)} are scaled properly, they will not be very close to the actual channel tap values {c_(k)p(0)} due to the reasons given above as well as due to the fact that there may also be tap values in the tails of the adjacent multi-paths. Hence, both the amplitudes and phases of the estimated tap values may be incorrect.

Moreover, after the thresholding takes place, the most likely result is that the thresholded correlation will include only the peaks of the channel taps, which implies that the tails of the raised cosine pulse shape that are under the noisy correlation output may be eliminated entirely. This elimination of the tails may lead to critical performance loss in the initialization of the equalizer 12 and a slower convergence onto the correct tap values for the equalizer 12 after initialization.

The present invention mitigates the problems of the least-squares channel estimators and the correlation channel estimators providing a channel estimator that is a blend of a least-squares channel estimator and a correlation channel estimator.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, a method for determining a channel response comprises the following: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; and, estimating the channel response from a least-squares solution based on the matrix Γ, the vector y, and a matrix A formed from the elements of the known training sequence.

In accordance with another aspect of the present invention, a method for determining a channel response comprises the following: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; determining an unknown coefficient vector γ_(LS) according to the following equation:

γ_(LS)=(Γ^(H) A ^(H) AΓ) ⁻¹Γ^(h) A ^(H) y

wherein the unknown coefficient vector γ_(LS) comprises a least-squares solution of the following equation: y=AΓγ+ν and wherein A comprises a matrix based on the training sequence; and, determining a channel response according to the following equation: {tilde over (h)}_(new)=Γγ_(LS).

In accordance with still another aspect of the present invention, a method for determining a channel response comprises the following: correlating a received signal with a training sequence; constructing a matrix Γ by approximating a desired pulse shape for each peak of the correlation; constructing a matrix A based on the training sequence; solving a least-squares solution of the following equation in order to derive an unknown coefficient vector γ: y=AΓγ wherein y is a vector representing a received signal; and, determining the channel response from the unknown coefficient vector γ and the matrix Γ.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages will become more apparent from a detailed consideration of the invention when taken in conjunction with the drawings in which:

FIG. 1 illustrates a generalized system whose equalizer is initialized by a channel estimator;

FIG. 2 illustrates a least-squares channel estimator that has been used for the channel estimator of FIG. 1;

FIGS. 3( a)–3(e) illustrate an exemplary simulation useful in explaining problems associated with the least-squares channel estimator of FIG. 2;

FIG. 4 illustrates a correlation channel estimator that has been used for the channel estimator of FIG. 1;

FIG. 5 illustrates an exemplary simulation useful in explaining problems associated with the correlation channel estimator of FIG. 4; and,

FIG. 6 illustrates a channel estimator according to an embodiment of the present invention that is a blend of a least-squares channel estimator and a correlation channel estimator.

DETAILED DESCRIPTION

FIG. 6 illustrates a blended channel estimator 50 having a sample extractor 52, a matrix multiplier 54, a training sequence memory 56 that stores a training sequence, a cross-correlator 58, a level thresholder 60, a combiner unit 62, a multiplier 64, and a tap weight initializer 66. The sample extractor 52 extracts values {tilde under (y)} from the output of a receiver's matched filter, and the matrix multiplier 54 multiplies the extracted values {tilde under (y)} by a matrix (AΓ)^(⋄), where the matrix (AΓ)^(⋄) is calculated by the combining unit 62 in the manner described below. The cross-correlator 58 cross-correlates the received signal with the stored training sequence stored in the memory 56 and the resulting cross-correlation is thresholded by the level thresholder 60 so that the combining unit 62 can construct the matrix (AΓ)^(⋄) from the output of the level thresholder 60 and the training sequence stored in the memory 56.

Thus, the blended estimation procedure illustrated by FIG. 6 starts from the exact same steps of the correlation based estimation as outlined by equations (23) and (24), and then the thresholding step is performed on the channel estimate as indicated by equation (27) in order to clean up the noise in the channel estimate. These steps produce the cleaned channel estimate Ĥ_(c)(z) shown in Equation (31). In equation (31), the value 1 denotes the main signal and the other values in equation (2) denote multi-paths. Equivalently, the cleaned channel impulse response estimate can be represented as shown in the following equation:

$\begin{matrix} {{\hat{h}}_{c} = {{\overset{\sim}{\alpha}}_{0}\left\lbrack {\beta_{K},{\underset{\underset{D_{K}^{a} - D_{K - 1}^{a} - {1\mspace{14mu}{zeros}}}{︸}}{0,\cdots,0,}\beta_{K - 1}},\cdots,\beta_{1},{\underset{\underset{D_{1}^{a} - {1\mspace{14mu}{zeros}}}{︸}}{0,\cdots,0,}\mspace{14mu}\underset{\underset{D_{1}^{c} - {1\mspace{14mu}{zeros}}}{︸}}{0,\cdots,0,}\alpha_{1}},\cdots,\alpha_{L - 1},{\underset{\underset{D_{L}^{c} - D_{L - 1}^{c} - {1\mspace{14mu}{zeros}}}{︸}}{0,\cdots,0,}\alpha_{L}}} \right\rbrack}^{T}} & (35) \end{matrix}$ where the zeros represent the spaces between the peaks. The structure and notation of equations (31) and (35) are important to the derivation of the algorithm below.

As indicated above, the pulse shape p(t) is convolved by the physical channel c(t) according to equation (6). As also indicated above, this pulse shape is lost due to the correlation and thresholding process. Therefore, it is desirable to recover this pulse shape for each of the multi-paths. Accordingly, the shifted and scaled copies of the pulse shape p(t) (shifted by τ_(k) and scaled by c_(k)) may be approximated by a linear combination of three pulse shape functions shifted by half a symbol interval (T/2). This linear combination is given by the following equation:

$\begin{matrix} {{c_{k}{p\left( {{nT} - \tau_{k}} \right)}} \approx \left\{ \begin{matrix} {{{\sum\limits_{l = {- 1}}^{1}\;{\gamma_{l}^{(k)}{p\left( {\left( {n + D_{k}^{a} - \frac{l}{2}} \right)T} \right)}}} - K} \leq k \leq {- 1}} \\ {{\sum\limits_{l = {- 1}}^{1}\;{\gamma_{l}^{(k)}{p\left( {\left( {n - D_{k}^{c} - \frac{l}{2}} \right)T} \right)}\mspace{14mu} 1}} \leq k \leq L} \end{matrix} \right.} & (36) \end{matrix}$ where {γ_(l) ^((k)),K≦k≦L}_(l=−1) ¹⊂C¹. The last part of equation (36) contains an approximation of the pulse shape of the transmitter/receiver filter combination. By making this approximation, the tails of the complex pulse shape p(t) can be efficiently recovered even though these tails are buried under the noisy output of the correlation processing and are lost when uniform thresholding is applied.

To arrive at this approximation, three vectors p_(k) are introduced for k=−1, 0, +1, each containing T spaced samples of the complex pulse shape p(t) shifted by kT/2 (for k=−1, 0, +1) according to the following three equations:

$\begin{matrix} {p_{- 1} = \left\lbrack {{p\left( {{{- N_{q}}T} + \frac{T}{2}} \right)},\cdots,{p\left( {{- T} + \frac{T}{2}} \right)},{p\left( \frac{T}{2} \right)},{p\left( {T + \frac{T}{2}} \right)},\cdots,{p\left( {{N_{q}T} + \frac{T}{2}} \right)}} \right\rbrack^{T}} & (37) \\ {p_{0} = \left\lbrack {{p\left( {{- N_{q}}T} \right)},\cdots,{p\left( {- T} \right)},{p(0)},{p(T)},\cdots,{p\left( {N_{q}T} \right)}} \right\rbrack^{T}} & (38) \\ {p_{1} = \left\lbrack {{p\left( {{{- N_{q}}T} - \frac{T}{2}} \right)},\cdots,{p\left( {{- T} - \frac{T}{2}} \right)},{p\left( {- \frac{T}{2}} \right)},{p\left( {T - \frac{T}{2}} \right)},\cdots,{p\left( {{N_{q}T} - \frac{T}{2}} \right)}} \right\rbrack^{T}} & (39) \end{matrix}$ By concatenating these vectors, a (2N_(q)+1)×3 matrix P is defined according to the following equation: P=[p⁻¹,p₀,p₁]  (40) This vector represents shifted and sampled values of a raised cosine pulse.

A matrix Γ whose columns are composed of the shifted vectors p_(k), where the shifts represent the relative delays of the multi-paths. This matrix Γ is given by the following equation:

$\begin{matrix} {\Gamma = \begin{bmatrix} P & \theta_{{({D_{K}^{a} - D_{K - 1}^{a}})}{x3}} & \; & \; & \; & \; & \; \\ \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} & P & ⋰ & \theta_{D_{K}^{a}{x3}} & \; & \; & \; \\ \; & \theta_{{({D_{L}^{c} + D_{K - 1}^{a}})}{x3}} & \; & P & \; & \theta_{{({D_{K}^{a} + D_{L - 1}^{c}})}{x3}} & \; \\ \; & \; & \; & \theta_{D_{L}^{c}{x3}} & ⋰ & P & \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} \\ \; & \; & \; & \; & \; & \theta_{{({D_{L}^{c} - D_{L - 1}^{c}})}{x3}} & P \end{bmatrix}} & (41) \end{matrix}$ where Γ is of dimension (D_(K) ^(a)+D_(L) ^(c)+2N_(q)+1)by 3(K+L+1) dependent on the channel spread, and 0_(mxn) denotes an m by n zero matrix such as a D_(K) ^(a)−D_(K−1) ^(a) by 3 matrix of zeros. The received signal vector y and the training sequence vector A are defined by equations (16) and (17), respectively. Because of the assumption that q(t) spans N_(q) symbol durations, q[n] has N_(q)+1 sample points and p[n] in turn has 2N_(q)+1 samples. Therefore, N_(a)=D_(K) ^(a)+N_(q) and N_(c)=D_(L) ^(c)+N_(q).

An unknown vector γ is defined in accordance with the following equation: γ=[γ^((−K)), . . . ,γ⁽⁰⁾, . . . ,γ^((L))]^(T)  (42) where γ^((k))=[γ⁻¹ ^((k)),γ₀ ^((k)),γ₁ ^((k)) for −K≦k≦L. The unknown vector γ has coefficients {γ⁻¹ ^(−K) where n=−1, 0, 1, and where k=−K, . . . , 0, . . . , L and has a length of 3(K+L+1). Similarly to equation (15), the vector y representing the output of the receiver's matched filter may be given by the following equation: y=AΓγ+ν  (43) where ν is the observed noise vector. Using a least-squares solution, the unknown coefficient vector γ can be estimated in accordance with the following equation: {circumflex over (γ)}_(LS)=(Γ^(H) A ^(H) AΓ) ⁻¹Γ^(H) A ^(H) y=( AΓ) ^(⋄) y  (44) Once the least-squares estimated vector γ_(LS) is obtained, the new channel estimate ĥ_(new), where the pulse tails are recovered, can simply be obtained in accordance with the following equation: ĥ_(new)=Γ{circumflex over (γ)}_(LS)  (45) The multiplier 64 multiplies {circumflex over (γ)}_(LS) from the matrix multiplier 54 by Γ according to equation (45) in order to produce ĥ_(new). Equations (44) and (45) may be solved using either a singular value decomposition (SVD) method, by a conjugate gradient (CG) method, or by any other suitable method.

Once the new estimated channel vector is determined per equation (45), the reconstructed vector at the output of the receiver matched filter can be defined, based on ĥ_(new) according to the following equation: {tilde over (y)}=Aĥ_(new)  (46) {tilde over (y)}=AΓ{circumflex over (γ)}_(LS)  (47) {tilde over (y)}=AΓ(Γ^(H) A ^(H) AΓ)⁻¹Γ^(H) A ^(H) y  (48) The variance of the noise samples at the output of the receiver's matched filter, σ_({circumflex over (v)}) ², can be estimated based on the following equation:

$\begin{matrix} {{\hat{\sigma}}_{\hat{v}}^{2} = {\frac{1}{N - D_{K}^{a} - N_{L}^{c}}{{\overset{\sim}{y} - y}}^{2}}} & (49) \end{matrix}$ which arises naturally. The length of the vector Y is N−D_(K) ^(a)−D_(L) ^(c).

The tap weight initializer 66 may then initialize the tap weights of the taps of the equalizer 12 using the channel estimate ĥ_(new) and the noise variance {circumflex over (σ)}_({circumflex over (v)}) ² in a manner that is known in the art.

When the present invention is used to initialize the taps weights of the taps of an equalizer, the noise variance given by equation (49) and the new channel response given by equation (45) can be combined in any known way so as to produce the initial tap weights for the taps of the equalizer. Alternatively, instead of combining the noise variance given by equation (49) and the new channel response given by equation (45), a small non-zero value noise variance may be assumed and this assumed value may be combined with the new channel response given by equation (45) so as to produce the initial tap weights for the taps of the equalizer.

Modifications of the present invention will occur to those practicing in the art of the present invention. For example, the present invention as described above relies on the use of a training signal. However, other signals, such as data signals, can be used to implement the present invention. Also, although the invention is specifically shown for use in initializing the taps of an equalizer, the channel estimate produced in accordance with the present invention can be used for other purposes.

Accordingly, the description of the present invention is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which are within the scope of the appended claims is reserved. 

1. A method for determining a channel response comprising: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; and, estimating the channel response from a least-squares solution based on the matrix Γ, the vector Y, and a matrix A formed from the elements of the known training sequence, wherein the channel response has a pulse shape, and wherein the matrix Γ is constructed so as to approximate the pulse shape of the channel response.
 2. The method of claim 1 wherein the matrix Γ comprises three sets of samples derived from the pulse shape, wherein the samples have a period T, wherein the first set comprises the pulse shape samples shifted by +T/2, wherein the second set comprises the pulse shape samples not shifted, and wherein the third set comprises the pulse shape samples shifted by −T/2.
 3. The method of claim 2 wherein the pulse shape from which the samples are derived comprises a complex raised cosine pulse shape.
 4. The method of claim 1 wherein the least-squares solution is solved using a singular value decomposition method.
 5. The method of claim 1 wherein the least-squares solution is solved using a conjugate gradient method.
 6. The method of claim 1 further comprising determining initial tap weights for an equalizer based on the channel response.
 7. The method of claim 6 further comprising determining the initial tap weights for the equalizer based on the channel response and a noise variance σ_({circumflex over (ν)}) ² given by the following equation: ${\hat{\sigma}}_{\hat{v}}^{2} = {\frac{1}{N - D_{K}^{a} - N_{L}^{c}}{{\overset{\sim}{y} - y}}^{2}}$ wherein D denotes distance between peaks of the correlation, wherein the superscript a denotes a distance of a corresponding anti-causal peak, wherein the superscript c denotes a distance of a corresponding causal peak, wherein K denotes the number of anti-causal peaks, wherein L denotes the number of causal peaks, wherein N denotes a number of training symbols in the training sequence, and wherein ŷ is based on the vector y.
 8. A method for determining a channel response comprising: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; and, estimating the channel response from a least-squares solution based on the matrix Γ, the vector Y, and a matrix A formed from the elements of the known training sequence, wherein the matrix Γ is constructed with a number of zeros dependent on distances between peaks of the correlation.
 9. The method of claim 8 wherein the channel response has a pulse shape, and wherein the matrix Γ is constructed so as to approximate the pulse shape of the channel response.
 10. The method of claim 9 wherein the matrix Γ comprises three sets of samples derived from the pulse shape, wherein the samples have a period T, wherein the first set comprises the pulse shape samples shifted by +T/2, wherein the second set comprises the pulse shape samples not shifted, and wherein the third set comprises the pulse shape samples shifted by −T/2.
 11. The method of claim 10 wherein the pulse shape from which the samples are derived comprises a complex raised cosine pulse shape.
 12. A method for determining a channel response comprising: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; determining an unknown coefficient vector γ_(LS) according to the following equation: γ_(LS)=(Γ^(H) A ^(H) AΓ)⁻¹Γ^(H) A ^(H) y  wherein the unknown coefficient vector γ_(LS) comprises a least-squares solution of the following equation: y=AΓγ+ν  and wherein A comprises a matrix based on the training sequence; and, determining a channel response according to the following equation: ĥ _(new)=Γγ_(LS).
 13. The method of claim 12 wherein the channel response has a pulse shape, and wherein the matrix Γ is constructed so as to approximate the pulse shape of the channel response.
 14. The method of claim 13 wherein the matrix Γ comprises three sets of samples p⁻¹, p₀, and p₊₁ derived from the pulse shape, wherein the samples have a period T, wherein the first set p⁻¹ comprises the pulse shape samples shifted by +T/2, wherein the second set p₀ comprises the pulse shape samples not shifted, and wherein the third set p₊₁ comprises the pulse shape samples shifted by −T/2.
 15. The method of claim 14 wherein the pulse shape comprises a complex raised cosine pulse shape.
 16. The method of claim 14 wherein the matrix Γ comprises an approximated pulse shape P formed by concatenating p⁻¹, p₀, and p₊₁.
 17. The method of claim 16 wherein the matrix Γ is given by the following equation: $\Gamma = \begin{bmatrix} P & \theta_{{({D_{K}^{a} - D_{K - 1}^{a}})}{x3}} & \; & \; & \; & \; & \; \\ \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} & P & ⋰ & \theta_{D_{K}^{a}{x3}} & \; & \; & \; \\ \; & \theta_{{({D_{L}^{c} + D_{K - 1}^{a}})}{x3}} & \; & P & \; & \theta_{{({D_{K}^{a} + D_{L - 1}^{c}})}{x3}} & \; \\ \; & \; & \; & \theta_{D_{L}^{c}{x3}} & ⋰ & P & \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} \\ \; & \; & \; & \; & \; & \theta_{{({D_{L}^{c} - D_{L - 1}^{c}})}{x3}} & P \end{bmatrix}$ wherein the zero matrices are dependent on distances D between peaks of the correlation, wherein the superscript a denotes a distance of a corresponding anti-causal peak, wherein the superscript c denotes a distance of a corresponding causal peak, wherein K denotes the number of anti-causal peaks, and wherein L denotes the number of causal peaks.
 18. The method of claim 17 wherein the pulse shape comprises a complex raised cosine pulse shape.
 19. The method of claim 12 wherein the matrix A is given by the following equation: $A = \begin{bmatrix} a_{N_{c} + N_{a}} & a_{N_{c} + N_{a} - 1} & \cdots & a_{0} \\ a_{N_{c} + N_{a} + 1} & a_{N_{c} + N_{a}} & \cdots & a_{1} \\ \vdots & \vdots & ⋰ & \vdots \\ a_{N - 1} & a_{N - 2} & \cdots & a_{N - 1 - N_{a} - N_{c}} \end{bmatrix}_{{({N - N_{a} - N_{c}})} \times {({N_{a} + N_{c} + 1})}}$ wherein a_(i) comprise training symbols, wherein N comprises the number of training symbols, wherein N_(a) comprises the number of anti-causal peaks in the correlation, and wherein N_(c) comprises the number of causal peaks in the correlation.
 20. The method of claim 19 wherein the channel response has a pulse shape, and wherein the matrix Γ is constructed so as to approximate the pulse shape of the channel response.
 21. The method of claim 20 wherein the matrix Γ comprises three sets of samples p⁻¹, p₀, and p₊₁ derived from the pulse shape, wherein the samples have a period T, wherein the first set p⁻¹ comprises the pulse shape samples shifted by +T/2, wherein the second set p₀ comprises the pulse shape samples not shifted, and wherein the third set p₊₁ comprises the pulse shape samples shifted by −T/2.
 22. The method of claim 21 wherein the pulse shape comprises a complex raised cosine pulse shape.
 23. The method of claim 21 wherein the matrix Γ comprises an approximated pulse shape P formed by concatenating p⁻¹, p₀, and p₊₁.
 24. The method of claim 23 wherein the matrix Γ is given by the following equation: $\Gamma = \begin{bmatrix} P & \theta_{{({D_{K}^{a} - D_{K - 1}^{a}})}{x3}} & \; & \; & \; & \; & \; \\ \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} & P & ⋰ & \theta_{D_{K}^{a}{x3}} & \; & \; & \; \\ \; & \theta_{{({D_{L}^{c} + D_{K - 1}^{a}})}{x3}} & \; & P & \; & \theta_{{({D_{K}^{a} + D_{L - 1}^{c}})}{x3}} & \; \\ \; & \; & \; & \theta_{D_{L}^{c}{x3}} & ⋰ & P & \theta_{{({D_{K}^{a} + D_{L}^{c}})}{x3}} \\ \; & \; & \; & \; & \; & \theta_{{({D_{L}^{c} - D_{L - 1}^{c}})}{x3}} & P \end{bmatrix}$ wherein the zero matrices are dependent on distances D between peaks of the correlation, wherein the superscript a denotes a distance of a corresponding anti-causal peak, wherein the superscript c denotes a distance of a corresponding causal peak, wherein K denotes the number of anti-causal peaks, and wherein L denotes the number of causal peaks.
 25. The method of claim 24 wherein the pulse shape comprises a complex raised cosine pulse shape.
 26. The method of claim 12 further comprising solving the equation for the unknown coefficient vector λ_(LS) using a singular value decomposition method.
 27. The method of claim 12 further comprising solving the equation for the unknown coefficient vector λ_(LS) using a conjugate gradient method.
 28. The method of claim 12 further comprising determining initial tap weights for an equalizer based on the channel response.
 29. The method of claim 12 further comprising determining the initial tap weights for the equalizer based on the channel response ĥ_(new) and a noise variance σ_({circumflex over (v)}) ² given by the following equation: ${\hat{\sigma}}_{\hat{v}}^{2} = \left. \frac{1}{N - D_{K}^{a} - N_{L}^{c}}||{\overset{\sim}{y} - y} \right.||^{2}$ wherein D denotes distance between peaks of the correlation, wherein the superscript a denotes a distance of a corresponding anti-causal peak, wherein the superscript c denotes a distance of a corresponding causal peak, wherein K denotes the number of anti-causal peaks, wherein L denotes the number of causal peaks, wherein N denotes a number of training symbols in the training sequence, and wherein ŷ is based on the vector y.
 30. A method for determining a channel response comprising: correlating a received signal with a training sequence; constructing a matrix Γ by approximating a desired pulse shape for each peak of the correlation; constructing a matrix A based on the training sequence; solving a least-squares solution of the following equation in order to derive an unknown coefficient vector γ: y=AΓγ  wherein y is a vector representing a received signal; and, determining the channel response from the unknown coefficient vector γ and the matrix Γ.
 31. The method of claim 30 wherein the matrix Γ is based on three sets of samples derived from the desired pulse shape, wherein the samples have a period T, wherein the first set comprises the pulse shape samples shifted by +T/2, wherein the second set comprises the pulse shape samples not shifted, and wherein the third set comprises the pulse shape samples shifted by −T/2.
 32. The method of claim 31 wherein the desired pulse shape comprises a complex raised cosine pulse shape.
 33. The method of claim 30 wherein the matrix Γ is constructed with a number of zeros dependent on distances between peaks of the correlation.
 34. The method of claim 30 wherein the determining of the channel response from the unknown coefficient vector γ and the matrix Γ comprises multiplying the matrix Γ by the unknown coefficient vector γ.
 35. The method of claim 30 wherein the desired pulse shape comprises a complex raised cosine pulse shape.
 36. The method of claim 30 wherein the solving of the least-squares solution comprises solving the least-squares solution using a singular value decomposition method.
 37. The method of claim 30 wherein the solving of the least-squares solution comprises solving the least-squares solution using a conjugate gradient method.
 38. The method of claim 30 further comprising adjusting the tap weights of the taps of the equalizer based on the channel response.
 39. The method of claim 30 further comprising determining the initial tap weights for the equalizer based on the channel response and a noise variance σ_({circumflex over (ν)}) ² given by the following equation: ${\hat{\sigma}}_{\hat{v}}^{2} = \left. \frac{1}{N - D_{K}^{a} - N_{L}^{c}}||{\overset{\sim}{y} - y} \right.||^{2}$ wherein D denotes distance between peaks of the correlation, wherein the superscript a denotes a distance of a corresponding anti-causal peak, wherein the superscript c denotes a distance of a corresponding causal peak, wherein K denotes the number of anti-causal peaks, wherein L denotes the number of causal peaks, wherein N denotes a number of training symbols in the training sequence, and wherein ŷ is based on the vector y. 